查看原文
其他

Rethinking batch effect removing methods—MNN

金月者 单细胞天地 2022-08-10

分享是一种态度

原文链接:https://zhuanlan.zhihu.com/p/353400937

这是本系列的第二篇文章,上一篇文章提供了一个对于 CCA 为什么 work 的新的解释,可见 Rethinking batch effect removing methods—CCA
这篇文章是希望说明,从这个新的角度出发理解 CCA 的本质其实就是在使用 MNN 前利用 SVD 得到低秩近似从而 denoise 了一下。
写的可能有点杂乱,不一定好理解,如果有问题评论区请随意指出,感谢

Introduction

MNN 是和 CCA 同时期发表在 Nature Biotechnology 上的,核心思想指导了后续非常多的工作。

Key idea 是在于利用两个数据集之前的 mutual nearest neighbor 来进行两个数据集之间的 mapping ,并且基于这个对应的关系来得到 correction vector。



  1. 首先在另一个 batch 之中寻找和自己互为 nearest neighbor 的(互为 K 近邻),这边距离采用 cos 余弦距离(记住这个距离,因为是这个 Cos 余弦距离将 CCA 和 MNN 统一在了一起)

  2. 找到配对的 neighbor 之后,我们认为这些配对的 cells 的差别是由 batch effect 导致的,因此可以借此了来刻画 batch effect,并计算 correction vector。

  3. 但这样就有一个问题,那没有配对的细胞该怎么校正呢?其实也非常简单,类似于使用局部近似,利用其周围有配对的 cells 得到的 correction vector 的线性组合来计算他本身 correction vector。离它越近的配对细胞所占的权值就越大,越远的则越小。(具体实现是使用 kernel method 来计算权重)

Experiment

为什么这样就可以消除 batch effect 呢?这个问题私以为比怎么操作的还要重要。(划重点) 首先我们来看一张图。



这张图是两个 batch 之间细胞的余弦距离热图,也就是 ,我们可以发现相同细胞类型可以明显的聚成一类。从而可以利用这个找到 mutual nearest neighbor 来进行 mapping(至少可以在某种程度上说 mutual near neighbor 大概率是同 Cell type 的细胞)
总结: 不同 cell type 的相对距离在跨 batch 上也得到了保留。

Theory part

之前描述的是实验的结果,那么我们如何从 model 出发理解这件事情呢?(为什么跨越不同 batch 的同类型细胞表达谱会类似)
首先我们可以认为 scRNA-seq 得到的表达谱其实是两部分的叠加,一部分来自于纯粹的生物,一部分是技术(或者其他因素)带来的,也就是 
我们想要验证,是否  上的距离关系能够跨 batch 得到保留,从而在  上表现出来。
接下来考虑两个 batch 的数据 ,我们有下式。

其中   表示 gene expression 的内在维度(类比 Factor analysis 中的 Factor), 就是在真实维度中的坐标,而因为同享相同的 gene 所以这个 Factor 应该是一样的,对应生物也就是所谓的 Gene expression program/ module 是一样的。而 batch effect 也同样可以由低维的 factor 来刻画,但是因为他们的 batch effect 对应的不同所以可以 Factor  是不同的。
到这里其实什么都没做,只是稍微形式化的写了一下式子,接下来证明在两个假设下,可以得到  上最近的细胞就是在  上最近的。
  • Assumption:

  • Biology variance 和 batch effect 所代表的的方向相互正交,也就是 正交

  • Cell 之间的差异远大于 Batch 之间的差异时。也就是 

  • Conclusion:

  •  中距离最近的细胞也就是  最接近的。

Proof

Ps.这部分在 MNN 的附录中都有 首先说明一点,如果对于  做了  normalization 的话,欧式距离和余弦距离相同。(差一个常数倍) 证明也非常简单,如下:
接下来利用了 assumption 1,Biology variance 和 batch effect 所代表的的方向相互正交( ) 从而将原空间中的距离拆分成独立两部分,证明如下。
最后一行利用了  对距离求导,可以得到
而利用 assumption 2,可以知道第二项远小于第一项,因此有
据此可以得到在原空间最近的两个细胞,在 biological space() 上也是最近的,所以如果要找跨 batch 对应的细胞可以直接在原空间寻找。
这部分是某种意义上说明了,为什么上一节的热图是能够将不同 batch 下的同样类型的细胞聚在一起的。

MNN and CCA

接下来阐述 CCA 和 MNN 的关系,我们知道 seurat 中其实是通过 所谓的 CCA 降维得到一个 share space 从而在这个低维空间上再利用 MNN,但事实上按照我的理解 CCA 那一步 SVD 其实就是起到了一个低秩近似的作用。
我们首先回顾一下前文中我们说到 CCA 的本质是保留样本间的 similarity。具体操作是对  做 SVD 分解得到 ,此时低秩近似为 ,于是选取 embedding  ,可以得到  在低维空间上 sample similarity matrix 是原矩阵的一个低秩近似。
而 MNN 是寻找 cos 距离上互为最近邻的,那么也就是在 sample similarity matrix 上找互为最相似的,因为 $cos.distance = 1 - xy^T $ ,而 CCA 这一步就是对 sample similarity matrix 的一个低秩近似,因此CCA + MNN 其实就等于先使用SVD 低秩近似 sample similarity matrix  ( )得到 ,然后找到互为近似的 anchor pair 来消除 batch effect。
下一篇文章会说明 LIGER 某种程度上可以建立在下面的形式上
一句话说明就是在 LIGER 中  ,然后  均非负。



往期回顾

Seurat4.0系列教程14:整合scRNA-seq and scATAC-seq数据

多分组的差异分析只需要合理设置design矩阵即可

多次差异分析难道就需要多个火山图吗

如果你觉得相关性热图不好看,或者太简陋

混合到同一个10X样品里面的多个细胞系如何注释






如果你对单细胞转录组研究感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程



看完记得顺手点个“在看”哦!


生物 | 单细胞 | 转录组丨资料每天都精彩

长按扫码可关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存